data {
  int<lower=0> Nd; // Number of rows in data
  int<lower=1> K;  // Number of Predictors
  vector[Nd] Y;                             // Y
  matrix[Nd, K] X;                       // Design Matrix for the Predictors
}

parameters {
  vector[K] beta;                   // beta
  real alpha;
  real<lower=0> zeta;
}

model {
target += normal_lpdf(beta| 0,1);
target+= normal_lpdf(zeta|0,1);
target += normal_lpdf(alpha| 0,1);

//Model
target +=  normal_id_glm_lpdf(Y| X, alpha, beta, zeta);
}
generated quantities {
  vector[Nd] log_lik;
  for (n in 1:Nd) {
    log_lik[n] = normal_id_glm_lpdf(to_vector([Y[n]])| [X[n]], alpha, beta, zeta);
  }
}
